package com.ccys.db.vo.doctor.pendingToConsult;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Author：XLY
 * @Date：2024/3/4 0004
 */
@Data
public class GetIncomingPatientVo {

    private String id;   //": "a92ad418-885d-48be-99e9-da18be6155a3",

    private String code;   //": "74439076341362",

    @JsonProperty("created_on")
    private Date createdOn;   //": "2024-03-04T14:37:04.293",

    private Integer age;   //": 24,

    private String type;   //": "Self",

    @JsonProperty("consulation_type")
    private String consulationType;   //": "General Consultation",

    private String status;   //": "Pending",

    @JsonProperty("patient_waited")
    private Integer patientWaited;   //": 5,

    private String email;   //": "",

    @JsonProperty("location_address")
    private String locationAddress;   //": "新加坡",

    @JsonProperty("location_unit_number")
    private String locationUnitNumber;   //": "",

    @JsonProperty("location_postal_code")
    private String locationPostalCode;   //": "610000",

    @JsonProperty("location_country")
    private String locationCountry;   //": "Singapore",

    @JsonProperty("location_state")
    private String locationState;   //": "",

    @JsonProperty("location_city")
    private String locationCity;   //": "",

    private String ringtone;   //": "https://s3-ap-southeast-1.amazonaws.com/prv.staging.whitecoat.global/Ringtone/cf302fa4-5595-4077-8a50-29c437416fcb.mp3",

    private MemberVo member;

    @JsonProperty("consult_type")
    private Integer consultType;   //": 1,

    @JsonProperty("is_selected_doctor")
    private boolean isSelectedDoctor;   //": true,

    @JsonProperty("pass_consultations")
    private List<PassConsultationVo> passConsultations;

    @Data
    public static class MemberVo{
        private String id;   //": "45e9fa93-7ec0-4e25-8122-dea270592a12",

        @JsonProperty("first_name")
        private String firstName;   //": "ayu-patient",

        @JsonProperty("last_name")
        private String lastName;   //": "",

        @JsonProperty("nric_fin")
        private String nricFin;   //": "214365",

        @JsonProperty("date_of_birth")
        private String dateOfBirth;   //": "6/16/1999 12:00:00 AM",

        private String email;   //": "2514712813@qq.com",

        private String gender;   //": "male",

        @JsonProperty("mem_phone")
        private String memPhone;   //": "214365",

        @JsonProperty("mem_home_address")
        private String memHomeAddress;   //": "",

        @JsonProperty("profile_photo")
        private String profilePhoto;   //": "",

        private ChildVo child;   //": null

    }


    @Data
    public static class PassConsultationVo{
        private String id;  //": "e2ed1a76-ec02-41f0-ac8d-53e2f97437d0",

        @JsonProperty("created_on")
        private Date createdOn;  //": "2024-02-28T16:55:35.85",

        private List<SymptomVo> symptoms;  //": null
    }


    @Data
    public static class SymptomVo{
        private String name;
    }

    @Data
    public static class ChildVo{

        private String email;     //": "",

        private String id;     //": "56a7952c-7822-42a7-9da4-ab6c60b91737",

        @JsonProperty("first_name")
        private String firstName;     //": "phytint",

        @JsonProperty("last_name")
        private String lastMame;     //": "",

        @JsonProperty("nric_fin")
        private String nricFin;     //": "2517456",

        private String gender;     //": "female",

        @JsonProperty("singpass_gender")
        private String singpassGender;     //": "",

        private String relationship;     //": "parent",

        private String age;     //": 8,

        @JsonProperty("date_of_birth")
        private String dateOfBirth;     //": "2016-02-01T00:00:00",

        @JsonProperty("profile_photo")
        private String profilePhoto;     //": ""

    }
}
